課程資訊
課程名稱
計算機程式
Computer Programming 
開課學期
111-2 
授課對象
土木工程學系  
授課教師
汪立本 
課號
CIE1008 
課程識別碼
501 10800 
班次
02 
學分
3.0 
全/半年
半年 
必/選修
必修 
上課時間
星期一2,3,4,5(9:10~13:10) 
上課地點
新501 
備註
本課程中文授課,使用英文教科書。教室:工綜323室
限本系所學生(含輔系、雙修生) 且 限學士班一年級
總人數上限:40人 
 
課程簡介影片
 
核心能力關聯
核心能力與課程規劃關聯圖
課程大綱
為確保您我的權利,請尊重智慧財產權及不得非法影印
課程概述

This course aims at providing training on logical thinking and computational skills. You would learn the basics of Python, and, after this course, you would have the computational skills to solve real-world engineering problems.

A 2-to-3-hour weekly lecture will be given to facilitate your learning of fundamental principles and basic syntaxes for Python. A 1-to-2-hour lab will be immediately followed after the lecture. Lab and homework assignments will be given in a regular basis. We expect that you will in general spend about 3-5 hours every week after the class to comprehend the subject and complete these assignments. 

課程目標
This course aims at providing training on logical thinking and computational skills. 
課程要求
 
預期每週課後學習時數
 
Office Hours
 
指定閱讀
 
參考書目
1. T. Gaddis (2021), Starting Out with Python 5/e, Pearson. (Introduction of Fundamental Aspect of Python, Student Friendly)
2. P. J. Deitel and H. Deitel (2020), Intro to Python for Computer Science and Data Science: Learning to Program with AI, Big Data and The Cloud, Pearson. (Introduction of Contemporary Usages of Python) 
評量方式
(僅供參考)
 
No.
項目
百分比
說明
1. 
Lab assignment 
10% 
 
2. 
Homework 
15% 
 
3. 
Quiz 
15% 
Twice - 7.5% each 
4. 
Midterm exam 
20% 
 
5. 
Final exam 
25% 
 
6. 
Final project (optional) 
15% 
(teamwork, 3-4人per team) 
 
課程進度
週次
日期
單元主題
第1週
02/20  Course Introduction
Module 01: Introduction to Programming and Python
Module 02: Elementary Programming: Input, Processing and Output (I)

#Chapter of Textbooks (Gaddis, Deitel and Deitel)
Chapter 1 (G), Chapter 1 (DD)
Chapter 2 (G), Chapter 2 (DD) 
第2週
02/27  ** 和平紀念日調整放假 Holiday 
第3週
03/06  Module 02: Elementary Programming: Input, Processing and Output (II)
Module 03: Decision Structures and Boolean Logic

#Chapter of Textbooks (Gaddis, Deitel and Deitel)
Chapter 2 (G), Chapter 2 (DD)
Chapter 3 (G), Chapter 3 (DD) 
第4週
03/13  Module 04: Repetition Structures

#Chapter of Textbooks (Gaddis, Deitel and Deitel)
Chapter 4 (G), Chapter 3 (DD) 
第5週
03/20  Module 05: Functions

#Chapter of Textbooks (Gaddis, Deitel and Deitel)
Chapter 5 (G), Chapter 4 (DD) 
第6週
03/25 星期六  補上班上課
Quiz 1 (50 mins.)
Module 06: Lists and Tuples (I)

#Chapter of Textbooks (Gaddis, Deitel and Deitel)
Chapter 7 (G), Chapter 5 (DD) 
第6週
03/27  Module 06: Lists and Tuples (II)

#Chapter of Textbooks (Gaddis, Deitel and Deitel)
Chapter 7 (G), Chapter 5 (DD) 
第7週
04/03  ** 調整放假(於3/25補上班上課) 
第8週
04/10  Module 07: String Manipulation
Module 08: NumPy Arrays (I)

#Chapter of Textbooks (Gaddis, Deitel and Deitel)
Chapter 8 (G), Chapter 8 (DD)
Chapter 7 (DD) 
第9週
04/17  Midterm Exam (3 hours) 
第10週
04/24  Module 08: NumPy Arrays (II)
Module 09: Dictionaries and Sets (I)

#Chapter of Textbooks (Gaddis, Deitel and Deitel)
Chapter 7 (DD)
Chapter 9 (G), Chapter 6 (DD) 
第11週
05/01  Module 09: Dictionaries and Sets (II)
Module 10: File

#Chapter of Textbooks (Gaddis, Deitel and Deitel)
Chapter 9 (G), Chapter 6 (DD)
Chapter 6 (G), Chapter 9 (DD) 
第12週
05/08  Quiz 2 (50 mins.)
Module 11: Objects and Class

#Chapter of Textbooks (Gaddis, Deitel and Deitel)
Chapter 10 (G), Chapter 10 (DD) 
第13週
05/15  Module 12: Into the Wild
Final Project Introduction 
第14週
05/22  Final Exam (3 hours) 
第15週
05/29  Final Project Discussion 
第16週
06/05  Final Project Presentation